時差學習是通過boottraping自助(link)從值函數的當前估計中進行學習。 這些方法像Monte Carlo方法一樣從環境中採樣,並像動態編程方法一樣基於當前估計執行更新。
蒙特卡洛方法僅在知道最終結果後才調整其估計,而時差學習方法會調整預測以在最終結果已知之前對未來的更準確的預測進行匹配。這是boottraping自助的一種形式,如以下示例所示:
“假設您希望預測週六的天氣,並且考慮到一周中的每一天的天氣,您有一些模型可以預測週六的天氣。在標準情況下,您要等到週六再調整所有模型。但是, 例如,在星期五,您應該對星期六的天氣有一個很好的了解-這樣就可以在星期六到來之前更改星期六的模型。”
假設我們要計算一個不規則圖形的面積,那麼圖形的不規則程度和分析性計算(比如,積分)的複雜程度是成正比的。蒙特卡羅方法基於這樣的想法:假設你有一袋豆子,把豆子均勻地朝這個圖形上撒,然後數這個圖形之中有多少顆豆子,這個豆子的數目就是圖形的面積。當你的豆子越小,撒的越多的時候,結果就越精確。借助計算機程序可以生成大量均勻分佈坐標點,然後統計出圖形內的點數,通過它們佔總點數的比例和坐標點生成範圍的面積就可以求出圖形面積。
Q-學習是強化學習的一種方法。 Q-學習就是要記錄下學習過的政策,因而告訴智能體(Agent)什麼情況下採取什麼行動會有最大的獎勵值。 Q-學習不需要對環境進行建模,即使是對帶有隨機因素的轉移函數或者獎勵函數也不需要進行特別的改動就可以進行。
對於任何有限的馬可夫決策過程(FMDP),Q-學習可以找到一個可以最大化所有步驟的獎勵期望的策略。 ,在給定一個部分隨機的策略和無限的探索時間,Q-學習可以給出一個最佳的動作選擇策略。
「Q」這個字母在強化學習中表示一個動作的品質(quality)。
Q-學習最簡單的實現方式就是將獎勵值存儲在一個表格(Q-table)中,但是這種方式受限於狀態和動作空間的數目。
深度Q-學習 (DQN)
這是一個由DeepMind公司開發的利用深度卷積神經網絡來進行Q-學習的算法。在使用非線性函數逼近的時候,強化學習經常會有不穩定性或者發散性:這種不穩定性來於當前的觀測中有比較強的自相關。 DeepMind 通過使用經歷回放,也就是每次學習的時候並不直接從最近的經歷中學習,而是從之前的經歷中隨機採樣來進行訓練。
深度雙Q-學習
盡管深度Q-學習的效果已經很好了,但是人們發現了一個問題,它會過高的估計Q值。 DeepMind在2015年證明了這個估值錯誤真的存在,並且採用雙Q-學習的方法改進了算法,從而降低了過高估值帶來的影響。
狀態-行為-獎勵-狀態-行為(SARSA)是一種用於學習MDP策略的算法,用於機器學習的強化學習領域。 它是由Rummery和Niranjan在技術說明中提出的,名稱為“ Modified Connectionist Q-Learning”(MCQ-L)。 Rich Sutton提出的替代名稱SARSA僅作為腳註被提及。
這個名稱簡單地反映了一個事實,即更新Q值的主要功能取決於代理“ S1”的當前狀態,代理選擇“ A1”的動作,代理選擇此動作獲得的獎勵“ R”, 代理在執行該操作後進入的狀態“ S2”,最後代理在其新狀態下選擇的下一個操作“ A2”。 五元組(st,at,rt,st + 1,at + 1)的縮寫是SARSA。一些作者使用略有不同的約定並編寫五元組(st,at,rt + 1,st + 1,at + 1),具體取決於獎勵被分配到哪個時間步驟。